package com.office.forum.manage.following.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 用户关注表对象 forum_following
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public class ForumFollowing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 被关注的用户名称 */
    @Excel(name = "被关注用户名称")
    private String name;
    /** 关注记录ID */
    private Long followingId;

    /** 发起关注的用户ID */
    @Excel(name = "发起关注的用户ID")
    private Long userId;

    /** 被关注的用户ID */
    @Excel(name = "被关注的用户ID")
    private Long followedUserId;

    /** 关注时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "关注时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 关注状态 */
    @Excel(name = "关注状态")
    private Long status;

    public void setFollowingId(Long followingId) 
    {
        this.followingId = followingId;
    }

    public Long getFollowingId() 
    {
        return followingId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setFollowedUserId(Long followedUserId) 
    {
        this.followedUserId = followedUserId;
    }

    public Long getFollowedUserId() 
    {
        return followedUserId;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "ForumFollowing{" +
                "name='" + name + '\'' +
                ", followingId=" + followingId +
                ", userId=" + userId +
                ", followedUserId=" + followedUserId +
                ", createdAt=" + createdAt +
                ", status=" + status +
                '}';
    }
}
